A cloud datacentre offers a remote user the possibility of purchasing computing resource to be used by submitting computing jobs to the datacentre for computing by the datacentre.
In the cloud datacentre, a user submits a job that he wishes to be executed. The user may specify in advance the priority of the job and a resource estimate, which details the amount of resources the user expects that the job will consume, in terms of CPU time, memory usage and the like.
The cloud datacentre executes the job and returns the results to the user.
Each job is encapsulated in a virtual container—such as a virtual machine—and one or more jobs are co-located on a physical server. Each job may have placement constraints which limit the set of physical servers to which the job may be allocated. For example, the constraints may specify a particular machine architecture, a particular operating system, a particular physical location or a particular set of security constraints.
As the quantity of virtual containers co-located on a physical server increases, so too does the competition between the virtual containers for the physical resources of the server. High competition may lead to frequent swapping of jobs, and/or inefficient use of resources. This phenomenon, known as performance interference, may have an adverse effect on the speed of execution of a job running in a virtual container.
It has been found that users typically overestimate the amount of resource required, which may be a result of a desire to avoid the job being delayed by a lack of allocated resource, or because of a lack of accurate understanding about the actual requirements of their jobs during runtime. This produces a significant amount of idle resource and affects the energy efficiency of datacentres. To reduce these negative effects, a datacentre manager may manually overallocate the available resources in the knowledge that the amount of actually utilised resource should not exceed the capacity of physical servers. Overloading the capacity of physical servers can result in performance degradation of co-located jobs, therefore affecting the satisfaction of customers.
It is an object of the present invention to address the abovementioned disadvantages.